{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "10126eda",
   "metadata": {},
   "source": [
    "# load feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2ba4b22d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Customer ID</th>\n",
       "      <th>frequency</th>\n",
       "      <th>APV</th>\n",
       "      <th>monetary</th>\n",
       "      <th>product_wide</th>\n",
       "      <th>price_mean</th>\n",
       "      <th>quantity_sum</th>\n",
       "      <th>ATV</th>\n",
       "      <th>c_Others</th>\n",
       "      <th>c_UK</th>\n",
       "      <th>...</th>\n",
       "      <th>duration</th>\n",
       "      <th>monthly_f</th>\n",
       "      <th>monthly_m</th>\n",
       "      <th>gap_min</th>\n",
       "      <th>gap_max</th>\n",
       "      <th>gap_mean</th>\n",
       "      <th>gap_median</th>\n",
       "      <th>recency</th>\n",
       "      <th>monthly_f_2</th>\n",
       "      <th>churn</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>12346.0</td>\n",
       "      <td>12</td>\n",
       "      <td>2281.072353</td>\n",
       "      <td>77556.46</td>\n",
       "      <td>27</td>\n",
       "      <td>6.100000</td>\n",
       "      <td>74285</td>\n",
       "      <td>6463.038333</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>13.0</td>\n",
       "      <td>2.4</td>\n",
       "      <td>15511.292000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>3.250000</td>\n",
       "      <td>2.500000</td>\n",
       "      <td>11.0</td>\n",
       "      <td>0.857143</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>12347.0</td>\n",
       "      <td>7</td>\n",
       "      <td>22.349174</td>\n",
       "      <td>5408.50</td>\n",
       "      <td>123</td>\n",
       "      <td>2.605868</td>\n",
       "      <td>3094</td>\n",
       "      <td>772.642857</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>772.642857</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.538462</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>12348.0</td>\n",
       "      <td>5</td>\n",
       "      <td>39.596078</td>\n",
       "      <td>2019.40</td>\n",
       "      <td>25</td>\n",
       "      <td>3.786275</td>\n",
       "      <td>2714</td>\n",
       "      <td>403.880000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>403.880000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.384615</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>12349.0</td>\n",
       "      <td>4</td>\n",
       "      <td>25.306800</td>\n",
       "      <td>4428.69</td>\n",
       "      <td>138</td>\n",
       "      <td>8.459657</td>\n",
       "      <td>1624</td>\n",
       "      <td>1107.172500</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>19.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1107.172500</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>13.000000</td>\n",
       "      <td>6.333333</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>12350.0</td>\n",
       "      <td>1</td>\n",
       "      <td>19.670588</td>\n",
       "      <td>334.40</td>\n",
       "      <td>17</td>\n",
       "      <td>3.841176</td>\n",
       "      <td>197</td>\n",
       "      <td>334.400000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>334.400000</td>\n",
       "      <td>3.028944</td>\n",
       "      <td>4.787988</td>\n",
       "      <td>3.791221</td>\n",
       "      <td>3.651954</td>\n",
       "      <td>10.0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 24 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Customer ID  frequency          APV  monetary  product_wide  price_mean  \\\n",
       "0      12346.0         12  2281.072353  77556.46            27    6.100000   \n",
       "1      12347.0          7    22.349174   5408.50           123    2.605868   \n",
       "2      12348.0          5    39.596078   2019.40            25    3.786275   \n",
       "3      12349.0          4    25.306800   4428.69           138    8.459657   \n",
       "4      12350.0          1    19.670588    334.40            17    3.841176   \n",
       "\n",
       "   quantity_sum          ATV  c_Others  c_UK  ...  duration  monthly_f  \\\n",
       "0         74285  6463.038333         0     1  ...      13.0        2.4   \n",
       "1          3094   772.642857         1     0  ...      12.0        1.0   \n",
       "2          2714   403.880000         1     0  ...      12.0        1.0   \n",
       "3          1624  1107.172500         1     0  ...      19.0        1.0   \n",
       "4           197   334.400000         1     0  ...       0.0        1.0   \n",
       "\n",
       "      monthly_m   gap_min    gap_max  gap_mean  gap_median  recency  \\\n",
       "0  15511.292000  1.000000   7.000000  3.250000    2.500000     11.0   \n",
       "1    772.642857  1.000000   3.000000  2.000000    2.000000      2.0   \n",
       "2    403.880000  1.000000   5.000000  3.000000    3.000000      3.0   \n",
       "3   1107.172500  1.000000  13.000000  6.333333    5.000000      1.0   \n",
       "4    334.400000  3.028944   4.787988  3.791221    3.651954     10.0   \n",
       "\n",
       "   monthly_f_2  churn  \n",
       "0     0.857143      1  \n",
       "1     0.538462      0  \n",
       "2     0.384615      0  \n",
       "3     0.200000      0  \n",
       "4     1.000000      1  \n",
       "\n",
       "[5 rows x 24 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import matplotlib as mpl\n",
    "from matplotlib import pyplot as plt\n",
    "import os \n",
    "import warnings\n",
    "\n",
    "warnings.filterwarnings(\"ignore\")\n",
    "feature_path = \"feature.csv\"\n",
    "feature_df = pd.read_csv(feature_path)\n",
    "feature_df.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "19d35592",
   "metadata": {},
   "source": [
    "# feature correlation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "62e44ea6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['frequency', 'APV', 'monetary', 'product_wide', 'price_mean',\n",
       "       'quantity_sum', 'ATV', 'c_Others', 'c_UK', 'closed_invoice',\n",
       "       'cancel_invoice', 'total_invoice', 'cancel_rate', 'duration',\n",
       "       'monthly_f', 'monthly_m', 'gap_min', 'gap_max', 'gap_mean',\n",
       "       'gap_median', 'recency', 'monthly_f_2', 'churn'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "feature_df = feature_df.drop(columns=[\"Customer ID\"])\n",
    "feature_df.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "7fa20a9e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>frequency</th>\n",
       "      <th>APV</th>\n",
       "      <th>monetary</th>\n",
       "      <th>product_wide</th>\n",
       "      <th>price_mean</th>\n",
       "      <th>quantity_sum</th>\n",
       "      <th>ATV</th>\n",
       "      <th>c_Others</th>\n",
       "      <th>c_UK</th>\n",
       "      <th>closed_invoice</th>\n",
       "      <th>...</th>\n",
       "      <th>duration</th>\n",
       "      <th>monthly_f</th>\n",
       "      <th>monthly_m</th>\n",
       "      <th>gap_min</th>\n",
       "      <th>gap_max</th>\n",
       "      <th>gap_mean</th>\n",
       "      <th>gap_median</th>\n",
       "      <th>recency</th>\n",
       "      <th>monthly_f_2</th>\n",
       "      <th>churn</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>frequency</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>APV</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>monetary</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>product_wide</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>price_mean</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>quantity_sum</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ATV</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>c_Others</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>c_UK</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>closed_invoice</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cancel_invoice</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>total_invoice</th>\n",
       "      <td>0.989482</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.989482</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cancel_rate</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>duration</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>monthly_f</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>monthly_m</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>gap_min</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.917124</td>\n",
       "      <td>0.924626</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>gap_max</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>gap_mean</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.917124</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.982956</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>gap_median</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.924626</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.982956</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>recency</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>monthly_f_2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>churn</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>23 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                frequency  APV  monetary  product_wide  price_mean  \\\n",
       "frequency        1.000000  NaN       NaN           NaN         NaN   \n",
       "APV                   NaN  1.0       NaN           NaN         NaN   \n",
       "monetary              NaN  NaN       1.0           NaN         NaN   \n",
       "product_wide          NaN  NaN       NaN           1.0         NaN   \n",
       "price_mean            NaN  NaN       NaN           NaN         1.0   \n",
       "quantity_sum          NaN  NaN       NaN           NaN         NaN   \n",
       "ATV                   NaN  NaN       NaN           NaN         NaN   \n",
       "c_Others              NaN  NaN       NaN           NaN         NaN   \n",
       "c_UK                  NaN  NaN       NaN           NaN         NaN   \n",
       "closed_invoice   1.000000  NaN       NaN           NaN         NaN   \n",
       "cancel_invoice        NaN  NaN       NaN           NaN         NaN   \n",
       "total_invoice    0.989482  NaN       NaN           NaN         NaN   \n",
       "cancel_rate           NaN  NaN       NaN           NaN         NaN   \n",
       "duration              NaN  NaN       NaN           NaN         NaN   \n",
       "monthly_f             NaN  NaN       NaN           NaN         NaN   \n",
       "monthly_m             NaN  NaN       NaN           NaN         NaN   \n",
       "gap_min               NaN  NaN       NaN           NaN         NaN   \n",
       "gap_max               NaN  NaN       NaN           NaN         NaN   \n",
       "gap_mean              NaN  NaN       NaN           NaN         NaN   \n",
       "gap_median            NaN  NaN       NaN           NaN         NaN   \n",
       "recency               NaN  NaN       NaN           NaN         NaN   \n",
       "monthly_f_2           NaN  NaN       NaN           NaN         NaN   \n",
       "churn                 NaN  NaN       NaN           NaN         NaN   \n",
       "\n",
       "                quantity_sum  ATV  c_Others  c_UK  closed_invoice  ...  \\\n",
       "frequency                NaN  NaN       NaN   NaN        1.000000  ...   \n",
       "APV                      NaN  NaN       NaN   NaN             NaN  ...   \n",
       "monetary                 NaN  NaN       NaN   NaN             NaN  ...   \n",
       "product_wide             NaN  NaN       NaN   NaN             NaN  ...   \n",
       "price_mean               NaN  NaN       NaN   NaN             NaN  ...   \n",
       "quantity_sum             1.0  NaN       NaN   NaN             NaN  ...   \n",
       "ATV                      NaN  1.0       NaN   NaN             NaN  ...   \n",
       "c_Others                 NaN  NaN       1.0   NaN             NaN  ...   \n",
       "c_UK                     NaN  NaN       NaN   1.0             NaN  ...   \n",
       "closed_invoice           NaN  NaN       NaN   NaN        1.000000  ...   \n",
       "cancel_invoice           NaN  NaN       NaN   NaN             NaN  ...   \n",
       "total_invoice            NaN  NaN       NaN   NaN        0.989482  ...   \n",
       "cancel_rate              NaN  NaN       NaN   NaN             NaN  ...   \n",
       "duration                 NaN  NaN       NaN   NaN             NaN  ...   \n",
       "monthly_f                NaN  NaN       NaN   NaN             NaN  ...   \n",
       "monthly_m                NaN  NaN       NaN   NaN             NaN  ...   \n",
       "gap_min                  NaN  NaN       NaN   NaN             NaN  ...   \n",
       "gap_max                  NaN  NaN       NaN   NaN             NaN  ...   \n",
       "gap_mean                 NaN  NaN       NaN   NaN             NaN  ...   \n",
       "gap_median               NaN  NaN       NaN   NaN             NaN  ...   \n",
       "recency                  NaN  NaN       NaN   NaN             NaN  ...   \n",
       "monthly_f_2              NaN  NaN       NaN   NaN             NaN  ...   \n",
       "churn                    NaN  NaN       NaN   NaN             NaN  ...   \n",
       "\n",
       "                duration  monthly_f  monthly_m   gap_min  gap_max  gap_mean  \\\n",
       "frequency            NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "APV                  NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "monetary             NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "product_wide         NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "price_mean           NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "quantity_sum         NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "ATV                  NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "c_Others             NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "c_UK                 NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "closed_invoice       NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "cancel_invoice       NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "total_invoice        NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "cancel_rate          NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "duration             1.0        NaN        NaN       NaN      NaN       NaN   \n",
       "monthly_f            NaN        1.0        NaN       NaN      NaN       NaN   \n",
       "monthly_m            NaN        NaN        1.0       NaN      NaN       NaN   \n",
       "gap_min              NaN        NaN        NaN  1.000000      NaN  0.917124   \n",
       "gap_max              NaN        NaN        NaN       NaN      1.0       NaN   \n",
       "gap_mean             NaN        NaN        NaN  0.917124      NaN  1.000000   \n",
       "gap_median           NaN        NaN        NaN  0.924626      NaN  0.982956   \n",
       "recency              NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "monthly_f_2          NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "churn                NaN        NaN        NaN       NaN      NaN       NaN   \n",
       "\n",
       "                gap_median  recency  monthly_f_2  churn  \n",
       "frequency              NaN      NaN          NaN    NaN  \n",
       "APV                    NaN      NaN          NaN    NaN  \n",
       "monetary               NaN      NaN          NaN    NaN  \n",
       "product_wide           NaN      NaN          NaN    NaN  \n",
       "price_mean             NaN      NaN          NaN    NaN  \n",
       "quantity_sum           NaN      NaN          NaN    NaN  \n",
       "ATV                    NaN      NaN          NaN    NaN  \n",
       "c_Others               NaN      NaN          NaN    NaN  \n",
       "c_UK                   NaN      NaN          NaN    NaN  \n",
       "closed_invoice         NaN      NaN          NaN    NaN  \n",
       "cancel_invoice         NaN      NaN          NaN    NaN  \n",
       "total_invoice          NaN      NaN          NaN    NaN  \n",
       "cancel_rate            NaN      NaN          NaN    NaN  \n",
       "duration               NaN      NaN          NaN    NaN  \n",
       "monthly_f              NaN      NaN          NaN    NaN  \n",
       "monthly_m              NaN      NaN          NaN    NaN  \n",
       "gap_min           0.924626      NaN          NaN    NaN  \n",
       "gap_max                NaN      NaN          NaN    NaN  \n",
       "gap_mean          0.982956      NaN          NaN    NaN  \n",
       "gap_median        1.000000      NaN          NaN    NaN  \n",
       "recency                NaN      1.0          NaN    NaN  \n",
       "monthly_f_2            NaN      NaN          1.0    NaN  \n",
       "churn                  NaN      NaN          NaN    1.0  \n",
       "\n",
       "[23 rows x 23 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "feature_df.corr()[abs(feature_df.corr()>0.9)]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b46227a0",
   "metadata": {},
   "source": [
    "以上数据中我们发现total_invoice|closed_invoice两个feature和frequency关联度过高，<br>因此我们考虑将这两个feature扔掉"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "1dfc0e21",
   "metadata": {},
   "outputs": [],
   "source": [
    "pred_feature = feature_df.drop(columns=[\"total_invoice\",\"closed_invoice\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f62903d6",
   "metadata": {},
   "source": [
    "# model - DT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "cd452407",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['frequency', 'APV', 'monetary', 'product_wide', 'price_mean',\n",
       "       'quantity_sum', 'ATV', 'c_Others', 'c_UK', 'cancel_invoice',\n",
       "       'cancel_rate', 'duration', 'monthly_f', 'monthly_m', 'gap_min',\n",
       "       'gap_max', 'gap_mean', 'gap_median'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "features = pred_feature.iloc[:,:len(feature_df.columns)-5].columns\n",
    "features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "c31f61b4",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "train_X, test_X, train_y, test_y = train_test_split(feature_df[features],\n",
    "                                                    feature_df['churn'],\n",
    "                                                    test_size=0.3,\n",
    "                                                    random_state=42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "151a79c9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(3773, 18)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "94e7fc37",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "training accuracy: 0.7906\n",
      "testing aacuracy: 0.7848\n"
     ]
    }
   ],
   "source": [
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.metrics import accuracy_score,precision_score, recall_score\n",
    "\n",
    "dt_clf = DecisionTreeClassifier(max_depth=2, random_state=42)\n",
    "dt_clf.fit(train_X, train_y)\n",
    "\n",
    "pred_train_y = dt_clf.predict(train_X)\n",
    "train_acc = accuracy_score(train_y, pred_train_y)\n",
    "print(\"training accuracy: {}\".format(round(train_acc,4)))\n",
    "\n",
    "pred_test_y = dt_clf.predict(test_X)\n",
    "test_acc = accuracy_score(test_y,pred_test_y)\n",
    "print(\"testing aacuracy: {}\".format(round(test_acc,4)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "51267367",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn import tree\n",
    "\n",
    "fig = plt.figure(figsize=(10,10))\n",
    "tree.plot_tree(dt_clf,\n",
    "               feature_names=features,\n",
    "               class_names=[\"no-churn\",\"churn\"],\n",
    "               filled= True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "050e9195",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>features</th>\n",
       "      <th>importance</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>duration</td>\n",
       "      <td>0.788585</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>frequency</td>\n",
       "      <td>0.211415</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     features  importance\n",
       "11   duration    0.788585\n",
       "0   frequency    0.211415"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "importances = dt_clf.feature_importances_\n",
    "feature_imp = pd.DataFrame({'features':features,\n",
    "                            'importance':importances}) \\\n",
    "                .sort_values('importance',ascending=False)\n",
    "feature_imp[feature_imp['importance']>0]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "67d6b0ae",
   "metadata": {},
   "source": [
    "# model - RF"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "08dc0b82",
   "metadata": {},
   "source": [
    "## select features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "f735bbf6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['frequency', 'APV', 'monetary', 'product_wide', 'price_mean',\n",
       "       'quantity_sum', 'ATV', 'c_Others', 'c_UK', 'cancel_invoice',\n",
       "       'cancel_rate', 'duration', 'monthly_f', 'monthly_m', 'gap_min',\n",
       "       'gap_max', 'gap_mean', 'gap_median', 'monthly_f_2'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "features_rf = pred_feature.iloc[:,:(len(pred_feature.columns)-1)].columns\n",
    "features_rf = features_rf.delete(-2)\n",
    "features_rf"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "707916ed",
   "metadata": {},
   "source": [
    "## split data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "38b24962",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "train_X, test_X, train_y, test_y = train_test_split(feature_df[features_rf],\n",
    "                                                    feature_df[\"churn\"],\n",
    "                                                    test_size=0.4,\n",
    "                                                    random_state=42)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "73c55704",
   "metadata": {},
   "source": [
    "## train model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "e8c652d2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training accuracy ; 0.9997\n",
      "Testing accuracy: 0.8\n"
     ]
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.metrics import accuracy_score, recall_score, precision_score\n",
    "\n",
    "rf_clf = RandomForestClassifier(random_state=42)\n",
    "rf_clf.fit(train_X, train_y)\n",
    "\n",
    "pred_train_y = rf_clf.predict(train_X)\n",
    "train_acc = accuracy_score(train_y, pred_train_y)\n",
    "print(\"Training accuracy ; {}\".format(round(train_acc,4)))\n",
    "\n",
    "pred_test_y = rf_clf.predict(test_X)\n",
    "test_acc = accuracy_score(test_y, pred_test_y)\n",
    "print(\"Testing accuracy: {}\".format(round(test_acc,2)))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b8e26e1b",
   "metadata": {},
   "source": [
    "## evaluate model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "09b083a9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>features</th>\n",
       "      <th>importance</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>duration</td>\n",
       "      <td>0.184455</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>frequency</td>\n",
       "      <td>0.116656</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>quantity_sum</td>\n",
       "      <td>0.103820</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>monetary</td>\n",
       "      <td>0.089951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>product_wide</td>\n",
       "      <td>0.057104</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>ATV</td>\n",
       "      <td>0.047100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>price_mean</td>\n",
       "      <td>0.046608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>APV</td>\n",
       "      <td>0.044778</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>monthly_f_2</td>\n",
       "      <td>0.043916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>monthly_m</td>\n",
       "      <td>0.043837</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>gap_median</td>\n",
       "      <td>0.042846</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>gap_min</td>\n",
       "      <td>0.041820</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>gap_max</td>\n",
       "      <td>0.040075</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>gap_mean</td>\n",
       "      <td>0.036967</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>monthly_f</td>\n",
       "      <td>0.022371</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>cancel_rate</td>\n",
       "      <td>0.017481</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>cancel_invoice</td>\n",
       "      <td>0.013280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>c_UK</td>\n",
       "      <td>0.003726</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>c_Others</td>\n",
       "      <td>0.003212</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          features  importance\n",
       "11        duration    0.184455\n",
       "0        frequency    0.116656\n",
       "5     quantity_sum    0.103820\n",
       "2         monetary    0.089951\n",
       "3     product_wide    0.057104\n",
       "6              ATV    0.047100\n",
       "4       price_mean    0.046608\n",
       "1              APV    0.044778\n",
       "18     monthly_f_2    0.043916\n",
       "13       monthly_m    0.043837\n",
       "17      gap_median    0.042846\n",
       "14         gap_min    0.041820\n",
       "15         gap_max    0.040075\n",
       "16        gap_mean    0.036967\n",
       "12       monthly_f    0.022371\n",
       "10     cancel_rate    0.017481\n",
       "9   cancel_invoice    0.013280\n",
       "8             c_UK    0.003726\n",
       "7         c_Others    0.003212"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "importances = rf_clf.feature_importances_\n",
    "feature_imp = pd.DataFrame({'features':features_rf,\n",
    "                            'importance':importances}) \\\n",
    "                .sort_values('importance',ascending=False)\n",
    "feature_imp[feature_imp['importance']>0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "6da4223e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'bootstrap': True,\n",
       " 'ccp_alpha': 0.0,\n",
       " 'class_weight': None,\n",
       " 'criterion': 'gini',\n",
       " 'max_depth': None,\n",
       " 'max_features': 'auto',\n",
       " 'max_leaf_nodes': None,\n",
       " 'max_samples': None,\n",
       " 'min_impurity_decrease': 0.0,\n",
       " 'min_impurity_split': None,\n",
       " 'min_samples_leaf': 1,\n",
       " 'min_samples_split': 2,\n",
       " 'min_weight_fraction_leaf': 0.0,\n",
       " 'n_estimators': 100,\n",
       " 'n_jobs': None,\n",
       " 'oob_score': False,\n",
       " 'random_state': 42,\n",
       " 'verbose': 0,\n",
       " 'warm_start': False}"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf_clf.get_params(deep=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c5f5ae98",
   "metadata": {},
   "source": [
    "## adjust parameter"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "eca94c3f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(estimator=RandomForestClassifier(random_state=42),\n",
       "             param_grid={'criterion': ['gini', 'entropy'],\n",
       "                         'max_features': range(10, 15),\n",
       "                         'min_samples_leaf': [0.001, 0.003, 0.005],\n",
       "                         'n_estimators': [50, 100, 200]},\n",
       "             scoring='accuracy')"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "# create the hyperparameter grid\n",
    "param_grid = {\"n_estimators\":[50,100,200],\n",
    "              \"min_samples_leaf\":[0.001,0.003,0.005],\n",
    "              \"max_features\":range(10,15),\n",
    "              \"criterion\":[\"gini\",\"entropy\"]}\n",
    "# call grid search \n",
    "grid_search = GridSearchCV(rf_clf,param_grid=param_grid,scoring='accuracy')\n",
    "grid_search.fit(train_X, train_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "047ec8b1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'criterion': 'entropy',\n",
       " 'max_features': 11,\n",
       " 'min_samples_leaf': 0.005,\n",
       " 'n_estimators': 50}"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "05277b0d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8191132208191176"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search.best_score_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "d8d7fbcd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestClassifier(criterion='entropy', max_features=11,\n",
       "                       min_samples_leaf=0.005, n_estimators=50,\n",
       "                       random_state=42)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search.best_estimator_"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "70b7e644",
   "metadata": {},
   "source": [
    "## retrain model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "910c2baf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train accuracy: 0.865182436611008, recall: 0.8362919132149902 , precision: 0.8718300205620287\n",
      "test accuracy: 0.7996289424860853, recall: 0.7488106565176023 , precision: 0.8240837696335078\n"
     ]
    }
   ],
   "source": [
    "best_model = grid_search.best_estimator_\n",
    "\n",
    "pred_train_y = best_model.predict(train_X)\n",
    "pred_test_y = best_model.predict(test_X)\n",
    "\n",
    "train_acc = accuracy_score(train_y, pred_train_y)\n",
    "train_rec = recall_score(train_y, pred_train_y)\n",
    "train_pcs = precision_score(train_y, pred_train_y)\n",
    "test_acc = accuracy_score(test_y, pred_test_y)\n",
    "test_rec = recall_score(test_y, pred_test_y)\n",
    "test_pcs = precision_score(test_y, pred_test_y)\n",
    "\n",
    "print(\"train accuracy: {}, recall: {} , precision: {}\".format(train_acc, train_rec, train_pcs))\n",
    "print(\"test accuracy: {}, recall: {} , precision: {}\".format(test_acc, test_rec, test_pcs))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8b28ea03",
   "metadata": {},
   "source": [
    "## apply model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "313f9cbb",
   "metadata": {},
   "outputs": [],
   "source": [
    "result = feature_df.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "dce72d32",
   "metadata": {},
   "outputs": [],
   "source": [
    "result[\"pred\"] = best_model.predict(feature_df[features_rf])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "e99f6231",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>frequency</th>\n",
       "      <th>APV</th>\n",
       "      <th>monetary</th>\n",
       "      <th>product_wide</th>\n",
       "      <th>price_mean</th>\n",
       "      <th>quantity_sum</th>\n",
       "      <th>ATV</th>\n",
       "      <th>c_Others</th>\n",
       "      <th>c_UK</th>\n",
       "      <th>closed_invoice</th>\n",
       "      <th>...</th>\n",
       "      <th>monthly_f</th>\n",
       "      <th>monthly_m</th>\n",
       "      <th>gap_min</th>\n",
       "      <th>gap_max</th>\n",
       "      <th>gap_mean</th>\n",
       "      <th>gap_median</th>\n",
       "      <th>recency</th>\n",
       "      <th>monthly_f_2</th>\n",
       "      <th>churn</th>\n",
       "      <th>pred</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "      <td>5390.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>6.629685</td>\n",
       "      <td>38.510093</td>\n",
       "      <td>3162.770443</td>\n",
       "      <td>85.859369</td>\n",
       "      <td>8.617887</td>\n",
       "      <td>1912.446011</td>\n",
       "      <td>376.515679</td>\n",
       "      <td>0.087384</td>\n",
       "      <td>0.912616</td>\n",
       "      <td>6.629685</td>\n",
       "      <td>...</td>\n",
       "      <td>1.248798</td>\n",
       "      <td>504.794289</td>\n",
       "      <td>2.782086</td>\n",
       "      <td>5.520354</td>\n",
       "      <td>3.865430</td>\n",
       "      <td>3.622138</td>\n",
       "      <td>7.496846</td>\n",
       "      <td>0.771793</td>\n",
       "      <td>0.477180</td>\n",
       "      <td>0.447866</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>13.227633</td>\n",
       "      <td>274.785031</td>\n",
       "      <td>14920.967122</td>\n",
       "      <td>118.491550</td>\n",
       "      <td>181.940900</td>\n",
       "      <td>9147.225198</td>\n",
       "      <td>532.565160</td>\n",
       "      <td>0.282423</td>\n",
       "      <td>0.282423</td>\n",
       "      <td>13.227633</td>\n",
       "      <td>...</td>\n",
       "      <td>0.635218</td>\n",
       "      <td>1131.187202</td>\n",
       "      <td>3.056469</td>\n",
       "      <td>3.549796</td>\n",
       "      <td>2.996587</td>\n",
       "      <td>3.081735</td>\n",
       "      <td>6.875607</td>\n",
       "      <td>0.705107</td>\n",
       "      <td>0.499525</td>\n",
       "      <td>0.497321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.083333</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>2.000000</td>\n",
       "      <td>11.418642</td>\n",
       "      <td>389.052500</td>\n",
       "      <td>21.000000</td>\n",
       "      <td>2.322093</td>\n",
       "      <td>210.000000</td>\n",
       "      <td>183.782054</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>205.998750</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.350000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>17.409854</td>\n",
       "      <td>997.120000</td>\n",
       "      <td>48.000000</td>\n",
       "      <td>2.982915</td>\n",
       "      <td>538.000000</td>\n",
       "      <td>285.831447</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>329.270000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>4.787988</td>\n",
       "      <td>3.791221</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>0.652174</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>7.000000</td>\n",
       "      <td>24.354574</td>\n",
       "      <td>2482.755000</td>\n",
       "      <td>109.000000</td>\n",
       "      <td>3.872179</td>\n",
       "      <td>1450.000000</td>\n",
       "      <td>421.376250</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.333333</td>\n",
       "      <td>514.882500</td>\n",
       "      <td>3.028944</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>13.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>389.000000</td>\n",
       "      <td>13305.500000</td>\n",
       "      <td>597336.110000</td>\n",
       "      <td>2515.000000</td>\n",
       "      <td>10953.500000</td>\n",
       "      <td>359875.000000</td>\n",
       "      <td>14844.766667</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>389.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>19.375000</td>\n",
       "      <td>39916.500000</td>\n",
       "      <td>23.000000</td>\n",
       "      <td>23.000000</td>\n",
       "      <td>23.000000</td>\n",
       "      <td>23.000000</td>\n",
       "      <td>24.000000</td>\n",
       "      <td>16.208333</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8 rows × 24 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         frequency           APV       monetary  product_wide    price_mean  \\\n",
       "count  5390.000000   5390.000000    5390.000000   5390.000000   5390.000000   \n",
       "mean      6.629685     38.510093    3162.770443     85.859369      8.617887   \n",
       "std      13.227633    274.785031   14920.967122    118.491550    181.940900   \n",
       "min       1.000000      0.000000       0.000000      1.000000      0.000000   \n",
       "25%       2.000000     11.418642     389.052500     21.000000      2.322093   \n",
       "50%       3.000000     17.409854     997.120000     48.000000      2.982915   \n",
       "75%       7.000000     24.354574    2482.755000    109.000000      3.872179   \n",
       "max     389.000000  13305.500000  597336.110000   2515.000000  10953.500000   \n",
       "\n",
       "        quantity_sum           ATV     c_Others         c_UK  closed_invoice  \\\n",
       "count    5390.000000   5390.000000  5390.000000  5390.000000     5390.000000   \n",
       "mean     1912.446011    376.515679     0.087384     0.912616        6.629685   \n",
       "std      9147.225198    532.565160     0.282423     0.282423       13.227633   \n",
       "min         1.000000      0.000000     0.000000     0.000000        1.000000   \n",
       "25%       210.000000    183.782054     0.000000     1.000000        2.000000   \n",
       "50%       538.000000    285.831447     0.000000     1.000000        3.000000   \n",
       "75%      1450.000000    421.376250     0.000000     1.000000        7.000000   \n",
       "max    359875.000000  14844.766667     1.000000     1.000000      389.000000   \n",
       "\n",
       "       ...    monthly_f     monthly_m      gap_min      gap_max     gap_mean  \\\n",
       "count  ...  5390.000000   5390.000000  5390.000000  5390.000000  5390.000000   \n",
       "mean   ...     1.248798    504.794289     2.782086     5.520354     3.865430   \n",
       "std    ...     0.635218   1131.187202     3.056469     3.549796     2.996587   \n",
       "min    ...     1.000000      0.000000     0.000000     0.000000     0.000000   \n",
       "25%    ...     1.000000    205.998750     1.000000     3.000000     2.000000   \n",
       "50%    ...     1.000000    329.270000     2.000000     4.787988     3.791221   \n",
       "75%    ...     1.333333    514.882500     3.028944     7.000000     4.000000   \n",
       "max    ...    19.375000  39916.500000    23.000000    23.000000    23.000000   \n",
       "\n",
       "        gap_median      recency  monthly_f_2        churn         pred  \n",
       "count  5390.000000  5390.000000  5390.000000  5390.000000  5390.000000  \n",
       "mean      3.622138     7.496846     0.771793     0.477180     0.447866  \n",
       "std       3.081735     6.875607     0.705107     0.499525     0.497321  \n",
       "min       0.000000     1.000000     0.083333     0.000000     0.000000  \n",
       "25%       2.000000     1.000000     0.350000     0.000000     0.000000  \n",
       "50%       3.000000     5.000000     0.652174     0.000000     0.000000  \n",
       "75%       4.000000    13.000000     1.000000     1.000000     1.000000  \n",
       "max      23.000000    24.000000    16.208333     1.000000     1.000000  \n",
       "\n",
       "[8 rows x 24 columns]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "617930bc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy: 0.839\n"
     ]
    }
   ],
   "source": [
    "accuracy = accuracy_score(result[\"churn\"],result[\"pred\"])\n",
    "print(\"accuracy: {}\".format(round(accuracy,4)))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "967291e7",
   "metadata": {},
   "source": [
    "模型适用范围：首次购买距今5个月以内的人群是不能够进行预测的"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "273.797px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
